package com.yanggu.scala.chapater12.array2

//匹配数组
object MatchArrayDemo01 {

  def main(args: Array[String]): Unit = {
    //Array(0) 匹配只有一个元素且为0的数组。
    //Array(x, y) 匹配数组有两个元素，并将两个元素赋值为x和y。当然可以依次类推Array(x, y, z) 匹配数组有3个元素的等等....
    //Array(0, _ *) 匹配数组以0开始
    val arrs = Array(Array(0), Array(1, 0), Array(0, 1, 0), Array(1, 1, 0), Array(1, 1, 0, 1))
    for (elem <- arrs) {
      val result = elem match {
        case Array(0) => "0"
        case Array(x, y) => x + "\t" + y
        case Array(0, _ *) => "以0开头的数组"
        case _ => "集合什么都不是"
      }
      println(result)
    }

    //Array(10, 20)使用模式匹配, 返回Array(20, 10)
    val array1 = Array(10, 20)
    val result = array1 match {
      case Array(x, y) => Array(y, x)
    }
    println(result.mkString(", "))
  }

}
